package com.spring.server;

import com.spring.http.Servlet;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Spring King
 * @date 2021/7/11
 */
public class KingHost {

    private String name;

    private List<KingContext> contexts = new ArrayList<>();

    public KingHost(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<KingContext> getContexts() {
        return contexts;
    }

    public void setContexts(List<KingContext> contexts) {
        this.contexts = contexts;
    }

    public void addContest(KingContext context) {
        getContexts().add(context);
    }

    public Servlet getServlet(String uri) {
        return getContexts().stream().filter(kingContext -> kingContext.getServlet(uri) != null)
                .map(kingContext -> kingContext.getServlet(uri))
                .findFirst().orElse(null);
    }
}
